#include <iostream>
// 使用范围for语句和ispunct函数来统计string对象中标点符号的个数
int main()
{
    std::string s("Hello World!!!");
    // punct_cnt的类型和s.zize的返回类型一样
    decltype(s.size()) punct_cnt = 0;
    // 统计s中标点符号的数量
    for(auto c:s) // 对于s中的每个字符
    {
        if(ispunct(c)) // 如果该字符时标点符号
        {
            ++punct_cnt; // 将标点符号的计数值+1
        }
    }
    std::cout << punct_cnt << " punctuation characters in " << s << std::endl;

    return 0;
}